#ifndef COMUNICACAO_CLIENTE_H
#define COMUNICACAO_CLIENTE_H

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netdb.h>
#include <arpa/inet.h>

#include "tcp_socket_io.h"
#include "logica.h"

#ifndef MAX_FILMES
#define MAX_FILMES 200
#endif

#ifndef EXT
#define EXT ".csv"
#endif

#define MARCAR_TEMPOS_CLIENTE
#ifdef MARCAR_TEMPOS_CLIENTE
#define ARQ_TEMPO_CLIENTE "tempo_cliente_"
#include <string.h>
struct timeval t0_cliente, t1_cliente; /* Estruturas para marcar tempo */
#endif

/* Envia pedido ao servidor e aguarda os dados desejados */
int executa_sistema_cliente(int sockfd);

/* Recebe todos os titulos enviados pelo servidor em ordem de ID */
int receber_titulos(int sockfd);

/* Recebe a sinopse do filme com ID igual a 'idfilme' */
int receber_sinopse_filme(int sockfd, int idfilme);

/* Recebe todas as informacoes do filme com ID igual a 'idfilme' */
int receber_informacoes_filme(int sockfd, int idfilme);

/* Recebe todas as informacoes de todos os filmes */
int receber_tudo(int sockfd);

#endif
